<!DOCTYPE html>
<html lang="en">
    <head>

        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <title>TStar物流管理系统</title>
        <% include("/common/common_css_js.html"){} %>
        <script type="text/javascript" src="${base}/hymj/js/public.js?d=${jdate!}"></script>
        <script type="text/javascript" src="${base}/hymj/js/jsmap.js?d=${jdate!}"></script>
        <script type="text/javascript" src="${base}/res/third-party/scrollbar/jquery.mCustomScrollbar.concat.min.js?d=${jdate!}"></script>
        <script type="text/javascript" src="${base}/frame/res/menu/menu.js?d=${jdate!}"></script>
        <script type="text/javascript" src="${base}/frame/res/menutip.js?d=${jdate!}"></script>

        <script type="text/javascript" src="${base}/hymj/js/echarts.min.js?d=${jdate!}"></script>

        <link type="text/css" href="${base}/res/third-party/scrollbar/jquery.mCustomScrollbar.css" rel="stylesheet"  />
        <link type="text/css" href="${base}/frame/res/menu/menu.css" rel="stylesheet"/>
        <link type="text/css" href="${base}/frame/res/tabs.css" rel="stylesheet"/>
        <link type="text/css" href="${base}/frame/res/frame.css" rel="stylesheet"/>
        <link type="text/css" href="${base}/frame/res/index.css" rel="stylesheet"/>
        <link rel="shortcut icon" href="${base!}/hymj/images/logo.ico" type="image/x-icon" />
        <style>
            a{
                color: white;
            }
        </style>

    </head>
    <body>

        <div class="navbar">

            <div class="navbar-header">
                <div class="navbar-brand" style="font-size: 18px">TStar物流系统(<span style="color: yellow">旗舰版</span>)</div>
                <div class="navbar-brand navbar-brand-compact">M</div>
            </div>

            <ul class="nav navbar-nav">
                <li><a id="toggle"><span class="fa fa-bars"></span></a></li>
<!--                <li class="icontop"><a href="javascript:menuEdit()"><i class="fa fa-sort-amount-asc"></i><span>菜单管理</span></a></li>-->
                <li class="icontop"><a href="javascript:loadCache()"><i class="fa fa-hand-pointer-o"></i><span>刷新缓存</span></a></li>
                <li class="icontop"><a href="javascript:openHelpPdf()"><i class="fa fa-puzzle-piece"></i><span>系统帮助</span></a></li>
<!--                <li class="icontop"><a href="#"><i class="fa fa-sort-amount-asc"></i><span>人力资源</span></a></li>-->
<!--                <li class="icontop"><a href="#"><i class="fa fa-cog"></i><span>系统设置</span></a></li>-->
            </ul>

            <ul class="nav navbar-nav navbar-right">
<!--                <li><a href="#"><i class="fa fa-paper-plane"></i>代办事项</a></li>-->
                <li><a href="javascript:showResetPassword()"><i class="fa fa-pencil-square-o"></i>重设密码</a></li>
                <li class="dropdown">
                    <a class="dropdown-toggle userinfo">
                        <img class="user-img" src="${base}/hymj/images/login_logo.png">
                        个人资料
                        <i class="fa fa-angle-down"></i>
                    </a>
                    <ul class="dropdown-menu pull-right">
                        <li>
                            <a href="javascript:showEditUser('edit')"><i class="fa fa-eye"></i>用户信息</a>
                            <a href="javascript:logout()"><i class="fa fa-user"></i>退出登录</a>
                        </li>
                    </ul>
                </li>
            </ul>

        </div>

        <div class="container">

            <div class="sidebar">
                <div class="sidebar-toggle"><i class = "fa fa-fw fa-dedent" ></i></div>
                <div id="mainMenu"></div>
            </div>

            <div class="main">
                <div id="mainTabs" class="mini-tabs main-tabs" activeIndex="0" style="height:100%;" plain="false" buttons="#tabsButtons" arrowPosition="side" contextMenu="#tabsMenu">
                    <div name="index" iconCls="fa-android" title="信息汇总">
                        <div class="mini-panel" title="部门开分单信息汇总" iconCls="icon-collapse" style="width:100%;height:400px;">
                            <span>开单日期：</span>
                            <input id="keyOpenBillStartDate" name="keyOpenBillStartDate"  class="mini-datepicker"   format="yyyy-MM-dd"/>--<input id="keyOpenBillEndDate" name="keyOpenBillEndDate" class="mini-datepicker"  format="yyyy-MM-dd"/>
                            <a class="mini-button" iconCls="icon-search" onclick="queryEchart1()">查询</a>
                            <div style="height:5px"></div>

                            <div id="echart1" style="width: 100%;height:320px;"></div>

                        </div>

                        <div style="height:5px"></div>

                        <div style="width: 100%;display: flex;flex-direction: row;height: 400px">
                            <div class="mini-panel" title="部门日开分单量" iconCls="icon-collapse" style="width:100%;height:400px;">
                                <span>开单日期：</span>
                                <input id="keyOpenBillStartDate2" name="keyOpenBillStartDate2"  class="mini-datepicker"   format="yyyy-MM-dd"/>--<input id="keyOpenBillEndDate2" name="keyOpenBillEndDate2" class="mini-datepicker"  format="yyyy-MM-dd"/>
                                <a class="mini-button" iconCls="icon-search" onclick="queryEchart2()">查询</a>
                                <div style="height:5px"></div>

                                <div id="echart2" style="width: 100%;height:320px;"></div>

                            </div>
                        </div>

                        <div style="height:5px"></div>

                        <div style="width: 100%;display: flex;flex-direction: row;height: 400px">
                            <div class="mini-panel" title="航空公司主单汇总" iconCls="icon-collapse" style="width:100%;height:400px;">
                                <span>开单日期：</span>
                                <input id="keyOpenBillStartDate3" name="keyOpenBillStartDate3"  class="mini-datepicker"   format="yyyy-MM-dd"/>--<input id="keyOpenBillEndDate3" name="keyOpenBillEndDate3" class="mini-datepicker"  format="yyyy-MM-dd"/>
                                <a class="mini-button" iconCls="icon-search" onclick="queryEchart3()">查询</a>
                                <div style="height:5px"></div>

                                <div id="echart3" style="width: 100%;height:320px;"></div>

                            </div>
                        </div>

                        <div style="height:5px"></div>

                        <div style="width: 100%;display: flex;flex-direction: row;height: 400px">
                            <div class="mini-panel" title="机场主单汇总" iconCls="icon-collapse" style="width:100%;height:400px;">
                                <span>开单日期：</span>
                                <input id="keyOpenBillStartDate4" name="keyOpenBillStartDate4"  class="mini-datepicker"   format="yyyy-MM-dd"/>--<input id="keyOpenBillEndDate4" name="keyOpenBillEndDate4" class="mini-datepicker"  format="yyyy-MM-dd"/>
                                <a class="mini-button" iconCls="icon-search" onclick="queryEchart4()">查询</a>
                                <div style="height:5px"></div>

                                <div id="echart4" style="width: 100%;height:320px;"></div>

                            </div>
                        </div>



                    </div>
                </div>
                <ul id="tabsMenu" class="mini-contextmenu" onbeforeopen="onBeforeOpen">
                    <li onclick="closeTab">关闭标签页</li>
                    <li onclick="closeAll">关闭所有标签页</li>
                    <li onclick="closeAllButFirst">关闭其他[主页除外]</li>
                </ul>

                <div id="tabsButtons">
                    <a class="tabsBtn"><i class="fa fa-home"></i></a>
                    <a class="tabsBtn"><i class="fa fa-refresh"></i></a>
                    <a class="tabsBtn"><i class="fa fa-remove"></i></a>
                    <a class="tabsBtn"><i class="fa fa-arrows-alt"></i></a>
                </div>

            </div>

        </div>


        <!--个信息编辑窗口-->
        <div id="addOrUpdatePanel" class="mini-window" title="个人信息" style="width:800px;height:410px;"
             showMaxButton="true" showCollapseButton="false" showMinButton="true" showShadow="true"
             showToolbar="true" showFooter="true" showModal="true" allowResize="true" allowDrag="true">

            <div property="footer" style="padding:10px;text-align: right">
                <a  class="mini-button" iconCls="icon-ok" onclick="save()">保存</a>
                <a  class="mini-button" iconCls="icon-close" onclick="closePanel('addOrUpdatePanel')">关闭</a>
            </div>

            <div id="userForm">
                <input id="opFlag" name="opFlag" emptyText="操作标志"  class="mini-hidden" required="false" enabled="false" enabled="false" requiredErrorText="操作标志不能为空" />
                <input id="id" name="id" emptyText="id值"  class="mini-hidden" required="false" enabled="false" enabled="false" requiredErrorText="ID不能为空" />

                <span>电话(登录账号):</span>
                <input id="mobile" name="mobile" class="mini-textbox" style="width: 300px" emptyText="电话(登录账号)" required="true" requiredErrorText="电话(登录账号)不能为空" enabled="false"  onvaluechanged="mobileChange"/>

                <div style="margin-top: 5px"></div>
                <div id="pwdArea">
                    <span>登录密码:</span>
                    <input id="password" name="password" class="mini-password" style="width: 200px" emptyText="登录密码" required="true" requiredErrorText="登录密码不能为空" onvaluechanged="passwordChange"/>

                    <span>确认登录密码:</span>
                    <input id="password1" name="password1" class="mini-password" style="width: 200px" emptyText="确认登录密码" required="true" requiredErrorText="确认登录密码不能为空" onvaluechanged="passwordChange"/>
                    <div style="margin-top: 5px"></div>
                    <span id="pwdHint" style="color: red"></span>
                </div>

                <div style="margin-top: 5px"></div>
                <span>姓名:</span>
                <input id="name" name="name" class="mini-textbox" style="width: 200px" emptyText="姓名" required="true" requiredErrorText="姓名不能为空" onvaluechanged="nameChange"/>

                <span>姓名全拼:</span>
                <input id="fullPinyin" name="fullPinyin" class="mini-textbox" style="width: 200px" emptyText="姓名全拼" required="false" requiredErrorText="姓名全拼不能为空"/>

                <span>姓名首字母:</span>
                <input id="camelCharPinyin" name="camelCharPinyin" class="mini-textbox" style="width: 200px" emptyText="姓名首字母" required="false" requiredErrorText="姓名首字母不能为空"/>

                <div style="margin-top: 5px"></div>
                <span>性别:</span>
                <input id="genderId" name="genderId" class="mini-combobox" style="width: 100px;" textField="name" valueField="id" emptyText="请选择..."
                       required="true" allowInput="false" showNullItem="true" nullItemText="请选择..." />

                <span>身份证号:</span>
                <input id="idCard" name="idCard" class="mini-textbox" style="width: 300px" emptyText="身份证号" required="false" requiredErrorText="身份证号不能为空"/>

                <div style="margin-top: 5px"></div>
                <span>归属部门:</span>
                <input id="departmentId" name="departmentId" class="mini-combobox" style="width: 300px;" textField="name" valueField="id" emptyText="请选择..."
                       required="true" allowInput="false" showNullItem="true" nullItemText="请选择..." />

                <span>在职状态:</span>
                <input id="workingStateId" name="workingStateId" class="mini-combobox" style="width: 100px;" textField="name" valueField="id" emptyText="请选择..."
                       required="true" allowInput="false" showNullItem="true" nullItemText="请选择..." />

                <span>锁定状态:</span>
                <input id="isLockId" name="isLockId" class="mini-combobox" style="width: 100px;" textField="name" valueField="id" emptyText="请选择..."
                       required="true" allowInput="false" showNullItem="true" nullItemText="请选择..." />

                <div style="margin-top: 5px"></div>
                <span>入职日期:</span>
                <input id="registerDate" name="registerDate" class="mini-datepicker" style="width:200px;" nullValue="null"
                       format="yyyy-MM-dd" showTime="true" showOkButton="true" showClearButton="false"
                       required="true" />

                <span>离职日期:</span>
                <input id="leaveDate" name="leaveDate" class="mini-datepicker" style="width:200px;" nullValue="null"
                       format="yyyy-MM-dd" showTime="true" showOkButton="true" showClearButton="false"
                       required="false" />

                <div style="margin-top: 5px"></div>
                <span>家庭地址:</span>
                <input id="address" name="address" class="mini-textbox" style="width: 300px" emptyText="家庭地址" required="false" requiredErrorText="家庭地址不能为空"/>
                <span>电子邮箱:</span>
                <input id="emailAddress" name="emailAddress" class="mini-textbox" style="width: 200px" vtype="email" emptyText="电子邮箱" required="false" requiredErrorText="电子邮箱不能为空"/>
                <div style="margin-top: 5px"></div>
                <span>QQ号:</span>
                <input id="qq" name="qq" class="mini-textbox" style="width: 200px" emptyText="QQ号" required="false" requiredErrorText="QQ号不能为空"/>
                <span>微信号:</span>
                <input id="wx" name="wx" class="mini-textbox" style="width: 200px" emptyText="微信号" required="false" requiredErrorText="微信号不能为空"/>
                <div style="margin-top: 5px"></div>
                <span>备注:</span>
                <textarea id="comment" name="comment" class="mini-textarea" style="width: 80%;height: 50px" emptyText="备注"  required="false"></textarea>
            </div>
        </div>

            <!--密码重设-->
            <div id="passwordResetPanel" class="mini-window" title="密码重设" style="width:400px;height:180px;"
                 showMaxButton="true" showCollapseButton="false" showMinButton="true" showShadow="true"
                 showToolbar="true" showFooter="true" showModal="true" allowResize="true" allowDrag="true">

                <div property="footer" style="padding:10px;text-align: right">
                    <a  class="mini-button" iconCls="icon-ok" onclick="resetPwd()">保存</a>
                    <a  class="mini-button" iconCls="icon-close" onclick="closePanel('passwordResetPanel')">关闭</a>
                </div>

                <div id="passwordForm">
                    <span>登录密码:</span>
                    <input id="pwd1" name="pwd1" class="mini-password" style="width: 200px" emptyText="登录密码" required="true" requiredErrorText="登录密码不能为空" onvaluechanged="pwdChange"/>
                    <div style="margin-top: 5px"></div>
                    <span>确认登录密码:</span>
                    <input id="pwd2" name="pwd2" class="mini-password" style="width: 200px" emptyText="确认登录密码" required="true" requiredErrorText="确认登录密码不能为空" onvaluechanged="pwdChange"/>
                    <div style="margin-top: 5px"></div>
                </div>
            </div>

    </body>
</html>
<script type="text/javascript">
    mini.parse();
    let currentTab = null;
    let tabs = mini.get("mainTabs");

    let addOrUpdatePanel = mini.get("addOrUpdatePanel");

    let userForm = new mini.Form("#userForm");

    let opFlag = mini.get("opFlag");
    let mobile = mini.get("mobile");
    let pwdArea = mini.get("pwdArea");
    let password = mini.get("password");
    let password1 = mini.get("password1");

    let name = mini.get("name");
    let fullPinyin = mini.get("fullPinyin");
    let camelCharPinyin = mini.get("camelCharPinyin");

    let genderId = mini.get("genderId");
    let idCard = mini.get("idCard");
    let departmentId = mini.get("departmentId");
    let workingStateId = mini.get("workingStateId");
    let isLockId = mini.get("isLockId");
    let registerDate = mini.get("registerDate");
    let leaveDate = mini.get("leaveDate");
    let address = mini.get("address");
    let email = mini.get("email");
    let qq = mini.get("qq");
    let wx = mini.get("wx");
    let comment = mini.get("comment");


    let passwordForm = new mini.Form("#passwordForm");
    let pwd1 = mini.get("pwd1");
    let pwd2 = mini.get("pwd2");


    // 获取缓存
    globalCache = ${globalCache!};

    // 获取菜单缓存
    let menuTree = ${menuTree!};
    
    $(function () {


        $(".sidebar").mCustomScrollbar({autoHideScrollbar:true});

        // 创建菜单
        let menu=new Menu("#mainMenu",{
            itemclick:function (item) {
                if(!item.children || item.children.length == 0){
                    activeTab(item);
                }
            }
        });

        // 绑定菜单数据  url:"${base}/frame/data/main_menu.txt",  let data=mini.decode(text);
        $.ajax({
            url:"${base}/menu/getMenuAndChildrenList",
            success:function (menuArray) {
                if(menuArray.length>0){
                    menu.loadData(menuArray);
                }
                else{
                    showAlert("登录用户无授权，无法登录，请联系管理员授权!",function () {
                        // 直接退出
                        location.href="${base}/login/logout";
                    });
                }
            }
        });

        $("#toggle,.sidebar-toggle").click(function () {
            $("body").toggleClass("compact");
            mini.layout();
        });

        $(".dropdown-toggle").click(function (event) {
            $(this).parent().addClass("open");
            return false;
        });

        $(document).click(function (event) {
            $(".dropdown").removeClass("open");
        });


        queryEchart1();

        queryEchart2();

        queryEchart3();

        queryEchart4();

        // 部门列表
        let keyDepartmentIdJsonData = commonRenderDropList("department");
        departmentId.load(keyDepartmentIdJsonData);

        // 在职状态
        let keyWorkingStateJsonData = commonRenderSysDicDropListByKey("sysDic","XT_DIC_WORKING_STATUS");
        workingStateId.load(keyWorkingStateJsonData);

        let keyIsLockJsonData = commonRenderSysDicDropListByKey("sysDic","XT_DIC_YES_NO");
        isLockId.load(keyIsLockJsonData);

        let genderIdJsonData = commonRenderSysDicDropListByKey("sysDic","XT_DIC_GENDER");
        genderId.load(genderIdJsonData);


    });

    // 加载主缓存，子页翻译时使用
    function loadCache(){

        let msgId = showMsgBox();

        let date=new Date().getTime();

        let ret = public_getServerData("${base}/cache/global/getGlobalCache?id=" + date);

        globalCache = ret;

        mini.hideMessageBox(msgId);

        public_showOkTips("缓存刷新成功!");

    }

    // 打开帮助文档
    function openHelpPdf(){
        addTabToMainPage("系统帮助","系统帮助","${base}/help/openHelp");
    }



    function showMsgBox() {
       let  msgId = mini.showMessageBox({
            title: "缓存刷新",
            message: "缓存刷新中....."
        });
       return msgId;
    }

    function onBeforeOpen(e) {
        currentTab = tabs.getTabByEvent(e.htmlEvent);
        if (!currentTab) {
            e.cancel = true;
        }
    }

    function closeTab() {
        tabs.removeTab(currentTab);
    }
    function closeAll() {
        let but = [tabs.getTab(0)];
        tabs.removeAll(but);
    }
    function closeAllButFirst() {
        let but = [currentTab];
        but.push(tabs.getTab(0));
        tabs.removeAll(but);
    }

    function activeTab(item) {
        let tab = tabs.getTab(item.id);
        if(!tab){
            tab = {name:item.id,title:item.name,url:item.url,iconCls:item.iconCls,showCloseButton:true};
            tab = tabs.addTab(tab);
        }
        tabs.activeTab(tab);
    }

    // 添加一个tab
    function addTabToMainPage(tabName,tabTitle,tabUrl){
        let tab = new Object;
        tab.name = tabName;
        tab.title = tabTitle;
        tab.url = tabUrl;
        tab.showCloseButton = true;
        tab = tabs.addTab(tab);
        tabs.activeTab(tab);
    }

    // 关闭table
    function closeActiveTab(){
        let tab=tabs.getActiveTab();
        tabs.removeTab(tab);
    }


    function logout(){
        mini.confirm(
            "退出系统？",
            "系统提示",
            function(action) {
                if (action == "ok") {
                    location.href="${base}/login/logout";
                }
            });
    }

    function closePanel(panelId) {
        $("#pwdHint").hide();
        public_onCancel(panelId);
    }


    function nameChange(e){
        let nameValue = e.value;
        fullPinyin.setValue(pinyin.getFullChars(nameValue));
        camelCharPinyin.setValue(pinyin.getCamelChars(nameValue));

    }

    function passwordChange(){
        let pwd = password.getValue();
        let pwd1 = password1.getValue();
        if(!public_isEmpty(pwd) && !public_isEmpty(pwd1)){
            if(pwd.length<5 || pwd1.length<5){
                showAlert("密码长度小于5,太短,请重新设置!");
                password.setValue();
                password1.setValue();
                return false;
            }
            if(pwd!=pwd1){
                showAlert("两次输入的密码不一致，请重新输入!");
                password.setValue();
                password1.setValue();
                return false;
            }
        }
        return true;
    }



    function pwdChange(){
        let pwd1Value = pwd1.getValue();
        let pwd2Value = pwd2.getValue();
        if(!public_isEmpty(pwd1Value) && !public_isEmpty(pwd2Value)){
            if(pwd1Value.length<5 || pwd2Value.length<5){
                showAlert("密码长度小于5,太短,请重新设置!");
                pwd1.setValue();
                pwd2.setValue();
                return false;
            }
            if(pwd1Value!=pwd2Value){
                showAlert("两次输入的密码不一致，请重新输入!");
                pwd1.setValue();
                pwd2.setValue();
                return false;
            }
        }
        return true;
    }


    function showResetPassword(){
        passwordForm.clear();
        // 弹出添加窗口
        public_showModelAtPos("passwordResetPanel", "center", "middle");
    }


    function resetPwd(){
        passwordForm.validate();
        if (passwordForm.isValid() == false) {
            return;
        }
        // 再次验证一下密码
        if(!pwdChange()){
            return;
        }

        let pwdData = passwordForm.getData(true);

        mini.confirm("确认修改您的当前登录密码？", "密码修改提示",
            function(action) {
                if (action == "ok") {
                    let  msgBoxId = mini.loading("正在保存，请稍后...","密码修改提示");
                    let ret = public_getServerData("${base}/pages/user_manage/resetPassword",pwdData);
                    mini.hideMessageBox(msgBoxId);
                    showAlert(ret.message,function (){
                        if(ret.ok){
                            closePanel('passwordResetPanel');
                            // 转向注销，重新登录
                            location.href="${base}/login/logout";
                        }
                    });
                }
            }
        );


    }


    function showEditUser(opFlagValue){
        // 1.获取个人对象信息
        let ret = public_getServerData("${base}/pages/user_manage/fecthLoginUserPojo");

        userForm.clear();
        userForm.setData(ret);

        password.setValue();
        password1.setValue();

        password.set({required:false});
        password1.set({required:false});

        opFlag.setValue(opFlagValue);

        $("#pwdHint").text("注:编辑用户时如果不设定密码则不会更改用户密码，如果设定则会以新密码为准");
        $("#pwdHint").show();

        // 弹出添加窗口
        public_showModelAtPos("addOrUpdatePanel", "center", "middle");

    }

    function save(){
        userForm.validate();
        if (userForm.isValid() == false) {
            return;
        }

        // 再次验证一下密码
        if(!passwordChange()){
            return;
        }

        let userData = userForm.getData(true);

        mini.confirm("确定保存用户信息？", "用户保存提示",
            function(action) {
                if (action == "ok") {
                    let  msgBoxId = mini.loading("正在保存，请稍后...","用户保存提示");
                    let ret = public_getServerData("${base}/pages/user_manage/save?opFlag=" + userData.opFlag, userData);
                    mini.hideMessageBox(msgBoxId);
                    showAlert(ret.message,function (){
                        if(ret.ok){
                            closePanel('addOrUpdatePanel');
                            // 刷新缓存
                            loadCache();
                        }
                    });
                }
            });

    }



    function getElementObject(id) {
        let elObj = document.getElementById(id);
        return elObj;
    }


    // 显示部门开单量(日期范围)
    function renderEchart(echartId,url,startDateValue,endDateValue) {
        let ret = public_getServerData(url,{startDate:startDateValue,endDate:endDateValue});
        if(ret.ok){
            let option = ret.data;
            // 基于准备好的dom，初始化echarts实例
            let myChart = echarts.init(getElementObject(echartId));
            // 使用刚指定的配置项和数据显示图表。
            myChart.setOption(option);
        }
        else{
            showAlert(ret.message);
        }
    }

    function queryEchart1(){
        let startDateValue = mini.get("keyOpenBillStartDate").getFormValue();
        let endDateValue = mini.get("keyOpenBillEndDate").getFormValue();
        renderEchart('echart1','${base}/main/showDepartmentOpenBill',startDateValue,endDateValue);
    }

    function queryEchart2(){
        let startDateValue = mini.get("keyOpenBillStartDate2").getFormValue();
        let endDateValue = mini.get("keyOpenBillEndDate2").getFormValue();
        renderEchart('echart2','${base}/main/showDepartmentDailyOpenBill',startDateValue,endDateValue);
    }




    function queryEchart3(){
        let startDateValue = mini.get("keyOpenBillStartDate3").getFormValue();
        let endDateValue = mini.get("keyOpenBillEndDate3").getFormValue();
        renderEchart('echart3','${base}/main/showFlightAirlinesOpenBill',startDateValue,endDateValue);
    }

    function queryEchart4(){
        let startDateValue = mini.get("keyOpenBillStartDate4").getFormValue();
        let endDateValue = mini.get("keyOpenBillEndDate4").getFormValue();
        renderEchart('echart4','${base}/main/showFlightAirportOpenBill',startDateValue,endDateValue);
    }

</script>